/**
  * 定义盒模型内边距
  * 使用方式 全部内边距 X轴内边距 Y轴内边距  分别定义top left bottom right 内边距
  * default size [xs, sm, default, md, lg]
  */
@mixin gen_padding($spaces) {
  .p_unset {
    padding: unset !important;
  }
  @each $key, $val in $spaces {
    .p_#{$key} {
      padding: $val !important;
    }

    .px_#{$key} {
      padding-left: $val !important;
      padding-right: $val !important;
    }

    .py_#{$key} {
      padding-top: $val !important;
      padding-bottom: $val !important;
    }

    .pl_#{$key} {
      padding-left: $val !important;
    }

    .pr_#{$key} {
      padding-right: $val !important;
    }

    .pt_#{$key} {
      padding-top: $val !important;
    }

    .pb_#{$key} {
      padding-bottom: $val !important;
    }
  }
}

/**
  * 定义盒模型外边距
  * 使用方式 全部外边距 X轴外边距 Y轴外边距  分别定义top left bottom right 外边距
  * default size [xs, sm, default, md, lg]
  */
@mixin gen_margin($spaces) {
  .m_unset {
    margin: unset !important;
  }
  @each $key, $val in $spaces {
    .m_#{$key} {
      margin: $val !important;
    }

    .mx_#{$key} {
      margin-left: $val !important;
      margin-right: $val !important;
    }

    .my_#{$key} {
      margin-top: $val !important;
      margin-bottom: $val !important;
    }

    .ml_#{$key} {
      margin-left: $val !important;
    }

    .mr_#{$key} {
      margin-right: $val !important;
    }

    .mt_#{$key} {
      margin-top: $val !important;
    }

    .mb_#{$key} {
      margin-bottom: $val !important;
    }
  }
}

/**
  * 定义盒模型边框颜色
  * default level [lighter, light, default, dark, darker]
  */
@mixin gen_border($map) {
  @each $key, $val in $map {
    .border_#{$key} {
      border: solid 1px #{$val};
    }
  }
}

/**
  * 定义盒模型圆角
  * default size [xs, sm, default, md, ld]
  */
@mixin gen_radius($radius) {
  @each $key, $val in $radius {
    .radius_#{$key} {
      border-radius: $val;
    }
  }
}
